# -*- coding: utf-8 -*-
"""25_11_2023_10potok.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1klsRE50htc-xxihtuPYkBbQzNdOQFLNV
"""

print('Здравствуйте!')
room_prices = [41, 94, 100, 7, 21, 92, 62, 49, 37]
i = -1
while i < (len(room_prices)-1):
  i += 1
  price = room_prices[i]
  if price == 100:
    continue
  print ('Текущая цена', price)
  if price == min(room_prices):
    print('Найдена минимальная цена')
    break
print('Досвиданья')

print('Hello!')

hotel_names = list()
hotel_names.append('aloHotel')
hotel_names.append('Appart lounge')
hotel_names.append('Sleepower')
hotel_names.append('Penthouseus')
hotel_names.append('Hotel star')
print (hotel_names)

i = -1
while i < len(hotel_names) - 1:
  i += 1
  name = hotel_names[i]
  if name == hotel_names[1]:
    continue
  print(name)
  if name == 'Penthouseus':
    print ('Гостиница найдена, название: ', name)
    break

while True:
  x = input('Введи ключевое слово "test": ')
  if x == 'test':
    break
  else:
    print ('ключевое слово не корректно')

i = -1
x = [41, 94, 100, 7, 21, 92, 62, 49, 37]
while i < len(x) - 1:
  i += 1
  print (x[i])
else:
  print ('ni4rego ne naideno')

print ('Введи букву q чтобы остановить калькулятор')
while True:
  s = input('Введи +, -, /, *')
  if s == 'q':
    break
  if s in ('+','-','*','/'):
    x = float(input('vvedi x = '))
    y = float(input('vvedi y = '))
    if s == "+":
      print (x + y)
    elif s == '-':
      print (x-y)
    elif s == '*':
      print (x*y)
    elif s == '/':
      if y != 0:
        print (x / y)
      else:
        print ('delenie na 0')
  else:
    print ('ne pravilnii znak')

print ('Введи букву q чтобы остановить калькулятор')
while True:
   s = input('Введи +, -, /, *')
   match s:
    case 'q':
      break
    case '+':
      x = float(input('vvedi x = '))
      y = float(input('vvedi y = '))
      print (x+y)
    case '-':
      x = float(input('vvedi x = '))
      y = float(input('vvedi y = '))
      print (x-y)
    case '*':
      x = float(input('vvedi x = '))
      y = float(input('vvedi y = '))
      print (x*y)
    case '/':
      x = float(input('vvedi x = '))
      y = float(input('vvedi y = '))
      if y != 0:
        print (x / y)
      else:
        print ('delenie na 0')
    case _:
        print ('ne pravilnii znak')

x = [41, 94, 100, 7, 21, 92, 62, 49, 37]
print (len(x))
for i in x:
  print (i)

room_prices = [41, 94, 100, 7, 21, 92, 62, 49, 37, 17]
for price in room_prices:
    if price == 100:
      continue
    if price == min(room_prices):
        print('Минимальная цена:', price)
        break
    print('Текущая цена:', price)

room_prices = [41, 94, 100, 7, 21, 92, 62, 49, 37, 17]
for price in room_prices:
    if price < 5:
        print('Минимальная цена:', price)
        break
    print('Текущая цена:', price)
else:
    print('Такой цены нет!')

hotel_names = ['aloHotel', 'Appart lounge','Sleepower', 'Penthouseus']

for name in hotel_names:
    print(name)
    del hotel_names[2]
print(hotel_names[2])

s = "Дата заказа:2018-10-14_аорыроарыов"
new_s= ''

for i in s:
    if i == "а":
        new_s += i
    else:
        pass

print (len(new_s))

x = 'blablabla'
for i in x:
  print(i)

coordinates = [(1, 2, 3), (4, 3, 1)]
for x,y,z in coordinates:
    #x, y, z = element[0], element[1], element[2]
    print(x * y * z)

x = ['aloHotel', 'Appart lounge', 'Sleepower', 'Penthouseus', 'Hotel star']
for i in range(len(x)):
  print (i + 1, x[i])

x = ['aloHotel', 'Appart lounge', 'Sleepower', 'Penthouseus', 'Hotel star']
for i, name in enumerate(x):
  print (i + 1, name)

phone_list = [
'+7(412)921-53-11',
'+7 (721) 043-1277',
'86718915900',
'+7(012)438-11-95',
]

for phone_number in phone_list:
    print(phone_number)
    for i in phone_number:
        char_is_digit = i.isdigit()
        print(i, char_is_digit)
    pass

hotel_prices = {}
hotel_prices['aloHotel'] = 94
hotel_prices['Appart lounge'] = 100
hotel_prices['Sleepower'] = 49
hotel_prices['Penthouseus'] = 37
hotel_prices['Hotel star'] = 7



total_sum = 0

for hotel_name in hotel_prices:
    price = hotel_prices[hotel_name]
    print(hotel_name, price)
    total_sum += price
print('Общая стоимость гостиниц =', total_sum)

hotel_prices = {}
hotel_prices['aloHotel'] = 94
hotel_prices['Appart lounge'] = 100
hotel_prices['Sleepower'] = 49
hotel_prices['Penthouseus'] = 37
hotel_prices['Hotel star'] = 7

total_sum = 0
for hotel_name, price in hotel_prices.items():
    print(hotel_name, price)
    total_sum += price
print('Общая стоимость гостиниц =', total_sum)

hotel_prices = {}
hotel_prices['aloHotel'] = 94,'test',2.55
hotel_prices['Appart lounge'] = 100
hotel_prices['Sleepower'] = 49
hotel_prices['Penthouseus'] = 37
hotel_prices['Hotel star'] = 7


total_sum = 0
for price in hotel_prices.values():
    print(type(price))
    #total_sum += price
#print('Общая стоимость гостиниц =', total_sum)

# Задача 3
# Поиск самых высокооплачиваемых работников с помощью спискового включения

# нужно найти всех сотрудников,
# зарабатывающих по крайней мере 100 000 долларов в год

employees = {'Alice' : 100000,
    'Bob' : 99817,
    'Carol' : 122908,
    'Frank' : 88123,
    'Eve' : 93121}

top_sal = []
for key, val in employees.items():
  if val >= 100000:
    top_sal.append((key,val))

print (top_sal)

employees = {'Alice' : 100000,
    'Bob' : 99817,
    'Carol' : 122908,
    'Frank' : 88123,
    'Eve' : 93121}

top_sal = [(k,v) for k,v in employees.items() if v >=100000]
print (top_sal)

import math

def test():
  print('hi')
  x = 5 + 5
  print (x)

x = 4
y = 6



for i in range(5):
  test()

def test():
  print('hi')
  x = 5 + 5
  print (x)

def test2():
  x = 10
  y = 5
  z = x + y
  print (z)
  a = test()



test2()

def make_coffee(size, sugar_dose=3):
    if sugar_dose > 5:
        return 'Слишком много сахара! :('
    else:
        return f'Ваш кофе объемом {size} мл с {sugar_dose} кусочками сахара'


x = 500
y = 10
make_coffee(x,y)

def test4():
  return 5 + 5
  return 10 + 10
  return 20 + 20

test4()

def test5():
  yield 5 + 5
  yield 10 + 10
  yield 20 + 20

x = test5()
print (type(x))

for i in x:
  print (i)

def test3(val):
  print(f'Привет {val}')

x = ['Максим','Мария','Елена']

for i in x:
  test3(i)

lst = [5,6,3,10]
my_list = [[4, 7, 2, 5, 4], [7, 14, 1, 8, 3], [5, 1, 8, 2, 7]]
def average(numbers):
    print(f'Функцию вызвали с параметром {numbers}')
    value = sum(numbers) / len(numbers)
    return value

for i in my_list:
  print (average(i))

def add_root():
    name = 'root'
    uid = 0
    return name, uid

help(add_root)

def test10():
  x = 10
  y = 5
  return x,y

x,y = test10()
x = 2
y = 3

z = x + y
print(z)

name = None

def greeting():
    name = 'Katya'
    print('Привет', name)
    return name

name = greeting()
print (name)

print (1, 'tekst', 20.5, [50035,3434])

def test11(val):
  x = val  / 2
  return x

test11([2.44,5])

# Задача 4
# даны целые положительные числа a и b (a > b)
# Определить результат целочисленного деления a на b, с помощью цикла while,
# __НЕ__ используя стандартную операцию целочисленного деления (// и %)
# Формат вывода:
#   Целочисленное деление ХХХ на YYY дает ZZZ
a, b = 179, 37

div = 0
i = a

while i >=0:
  i -= b
  if i > 0:
    div += 1

print ("Целочисленное деление",a, "на",b,'дает',div)

print (a%b)

# Задача 5
# Напишите функцию, которая принимает список из чисел и возвращает сумму только положительных чисел в нем.

# Например,
# [1,-4,7,12] -> 1 + 7 + 12 = 20

# Примечание:
# если положительных чисел в списке нет, то сумма равна 0.

def func(lst):
  total = 0
  for i in lst:
    if i > 0:
      total = total + i
  return total

testlst = [-1,-4,-7,-12,-50,-100]

func(testlst)

# Задача 5
# Напишите функцию, которая принимает список из чисел и возвращает сумму только положительных чисел в нем.

# Например,
# [1,-4,7,12] -> 1 + 7 + 12 = 20

# Примечание:
# если положительных чисел в списке нет, то сумма равна 0.

def func2(lst):
  return [i for i in lst if i > 0]


testlst = [-1,-4,-7,-12,-50,-100]
print (func2(testlst))
x = sum(func2(testlst))
print (x)

# Задача 6
# Напишите функцию, которая принимает строку в качестве параметра и переворачивает каждое слово в строке.
# Все пробелы в строке должны быть сохранены.

# Например:
#   "This is an example!" ==> "sihT si na !elpmaxe"
#   "double  spaces"      ==> "elbuod  secaps"

x = 'double  spaces'
def revers(string):
  res = []
  for word in string.split(" "):
    res.append(''.join(word[::-1]))
  res = ' '.join(res)
  print(res)

revers(x)

def revers2(val):
  return ' '.join([word[::-1] for word in val.split(' ')])

x = 'This is an example!'

revers2(x)

# Задача 7
# Проверьте, содержит ли строка одинаковое количество "x" и "o".
# Функция должна возвращать логическое значение и быть нечувствительным к регистру.
# Строка может содержать любые символы.

# Примеры ввода/вывода:
#   XO("ooxx") => true
#   XO("xooxx") => false
#   XO("ooxXm") => true
#   XO("zpzpzpp") => true # когда нет "x" и "o", должно быть возвращено значение true
#   XO("zzoo") => false

def xo1(val):
  x = 0
  o = 0
  y = []
  for i in val.lower():
    if i == 'x':
      y.append(i)
  print (len(y))


xo1('ooxxxxx')

def xo(val):
  x = 0
  o = 0
  if len([x for i in tuple(val.lower()) if i == 'x']) == len([o for i in tuple(val.lower()) if i == 'o']):
    return True
  else:
    return False


xo('zzoo')